package cn.imnaer.service.rpc.collect.application;

import cn.imnaer.database.BaseDao;
import cn.imnaer.database.MatchConst;
import cn.imnaer.service.persistence.model.Collect;
import cn.imnaer.service.persistence.model.SharePhoto;
import cn.imnaer.service.persistence.model.TravelNote;
import cn.imnaer.service.persistence.model.consts.COLLECT;
import cn.imnaer.service.rest.resquest.model.CollectParams;
import cn.imnaer.service.rpc.common.AbstractRepository;
import cn.imnaer.service.rpc.common.BaseContainImageAdapter;
import cn.imnaer.service.rpc.common.BaseService;
import cn.imnaer.service.rpc.enums.EnumCollectType;

import org.bson.BSONObject;
import org.bson.BasicBSONObject;
import org.bson.types.BasicBSONList;

import java.util.ArrayList;
import java.util.List;

public class CollectRepository   extends AbstractRepository<Collect>{
	private CollectDaoImpl collectDaoImpl = CollectDaoImpl.getInstance();

	public CollectRepository() {
	}
//
//	public boolean delete(String collectId, String userId, String type) {
//		BSONObject query = new BasicBSONObject();
//		query.put(COLLECT.collectId, collectId);
//		query.put(COLLECT.type, type);
//		query.put(COLLECT.userId, userId);
//		try {
//			this.collectDaoImpl.delete(query);
//		} catch (Exception e) {
//			e.printStackTrace();
//			return false;
//		}
//		return true;
//	}
//
//	@Override
//	public Collect save(Collect collect) {
//		return this.collectDaoImpl.insert(collect,false);
//	}
//	public void deleteCollects(List<CollectParams> collectParamsList) {
//		BSONObject query = new BasicBSONObject();
//		BSONObject arr = new BasicBSONList();
//		int i = 0;
//		for (CollectParams collectParams : collectParamsList) {
//			BSONObject mather = new BasicBSONObject();
//			mather.put(COLLECT.collectId, collectParams.getId());
//			mather.put(COLLECT.type, collectParams.getType());
//			mather.put(COLLECT.userId, collectParams.getUserId());
//			arr.put(String.valueOf(i), mather);
//			i++;
//		}
//		query.put(MatchConst._OR, arr);
//		this.collectDaoImpl.delete(query);
//	}
//
//	public List<Collect> getMyCollecList(String userId) {
//		BSONObject query = new BasicBSONObject();
//		query.put("userId", userId);
//		BSONObject order = new BasicBSONObject();
//		order.put("createTime", -1);
//		return this.collectDaoImpl.findAll(query, order);
//	}
//
//
//	public List<String> getCollectIdListByType(String userId, String type) {
//		BSONObject query = new BasicBSONObject();
//		query.put(COLLECT.userId, userId);
//		query.put(COLLECT.type, type);
//		BSONObject selector = new BasicBSONObject();
//		selector.put(COLLECT.collectId, null);
//		List<String> collectIdList = new ArrayList<String>();
//		List<Collect> collectList = this.collectDaoImpl.findAll(query, selector, null);
//		for (Collect collect : collectList) {
//			collectIdList.add(collect.getCollectId());
//		}
//		return collectIdList;
//	}
//
//
//
//	@Override
//	public List<Collect> search(String keyword) {
//		
//		return null;
//	}
//
//	@Override
//	public Collect findOneByPk(String pkValue, Class<?> clazz) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	@Override
//	public Collect findOneByPk(String pkValue) {
//		// TODO Auto-generated method stub
//		return null;
//	}

	@Override
	public Collect save(Collect result) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Collect findOneByPk(String pkValue, Class<?> clazz) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Collect findOneByPk(String pkValue) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Collect> search(String keyword) {
		// TODO Auto-generated method stub
		return null;
	}



}
